package com.operation;

/**
 * 除法运算类：仅负责除法逻辑（单一职责原则），需保证整除且结果范围
 */
public class Divide extends Operation {

    @Override
    public int calculate(int a, int b) throws IllegalArgumentException {
        // 先校验是否整除（实验约束：结果为正整数）
        if (a % b != 0) {
            throw new IllegalArgumentException("除法需保证整除");
        }
        int result = a / b;
        // 校验结果：必须>0且<100（实验约束）
        if (result <= 0 || result >= 100) {
            throw new IllegalArgumentException("除法结果超出范围（需1-99）");
        }
        return result;
    }

    @Override
    public String getOperator() {
        return "÷"; // 用"÷"更符合数学习惯
    }
}